Kickback control methods for power tools

ABSTRACT

Kickback control methods for power tools. One power tool includes a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis. The power tool includes an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool. To implement the kickback control, the electronic processor is configured to control the switching network to drive the brushless DC motor, receive measurements of the angular velocity of the housing of the power tool from the movement sensor, determine that a plurality of the measurements of the angular velocity of the housing of the power tool exceed a rotation speed threshold, and control the switching network to cease driving of the brushless DC motor in response to determining that the plurality of the measurements of the angular velocity exceed the rotation speed threshold.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/577,594, filed Oct. 26, 2017, and to U.S. Provisional PatentApplication No. 62/686,719, filed on Jun. 19, 2018, the entire contentsof each are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to preventing and reducing kickback of apower tool and to controlling the power tool.

SUMMARY

One embodiment provides a power tool including a housing having a motorhousing portion, a handle portion, and a battery interface. The powertool further includes a brushless direct current (DC) motor within themotor housing portion and having a rotor and a stator. The rotor isconfigured to rotationally drive a motor shaft about a rotational axis.The power tool further includes a switching network electrically coupledto the brushless DC motor. The power tool further includes a movementsensor configured to measure an angular velocity of the housing of thepower tool about the rotational axis. The power tool further includes anelectronic processor coupled to the switching network and the movementsensor and configured to implement kickback control of the power tool.To implement the kickback control, the electronic processor isconfigured to control the switching network to drive the brushless DCmotor, and receive measurements of the angular velocity of the housingof the power tool from the movement sensor. To implement the kickbackcontrol, the electronic processor is further configured to determinethat a plurality of the measurements of the angular velocity of thehousing of the power tool exceed a rotation speed threshold. Toimplement the kickback control, the electronic processor is furtherconfigured to control the switching network to cease driving of thebrushless DC motor in response to determining that the plurality of themeasurements of the angular velocity exceed the rotation speedthreshold.

Another embodiment provides a power tool including a housing having amotor housing portion, a handle portion, and a battery interface. Thepower tool further includes a brushless direct current (DC) motor withinthe motor housing portion and having a rotor and a stator. The rotor isconfigured to rotationally drive a motor shaft about a rotational axis.The power tool further includes a switching network electrically coupledto the brushless DC motor. The power tool further includes a movementsensor configured to measure an angular velocity of the housing of thepower tool about the rotational axis. The power tool further includes anelectronic processor coupled to the switching network and the movementsensor and configured to implement kickback control of the power tool.To implement the kickback control, the electronic processor isconfigured to control the switching network to drive the brushless DCmotor, and receive measurements of the angular velocity of the housingof the power tool from the movement sensor. To implement the kickbackcontrol, the electronic processor is further configured to control theswitching network to cease driving of the brushless DC motor in responseto determining that a measurement of the measurements of the angularvelocity exceeds a rotation speed threshold and determining that a powertool characteristic exceeds a kickback threshold.

Another embodiment provides a power tool including a housing having amotor housing portion, a handle portion, and a battery interface. Thepower tool further includes a brushless direct current (DC) motor withinthe motor housing portion and having a rotor and a stator. The rotor isconfigured to rotationally drive a motor shaft about a rotational axis.The power tool further includes a switching network electrically coupledto the brushless DC motor. The power tool further includes a movementsensor configured to measure an angular velocity of the housing of thepower tool about the rotational axis. The power tool further includes anelectronic processor coupled to the switching network and the movementsensor and configured to implement kickback control of the power tool.To implement the kickback control, the electronic processor isconfigured to control the switching network to drive the brushless DCmotor, and determine a working operating angle range of the power tool.To implement the kickback control, the electronic processor is furtherconfigured to receive measurements of the angular velocity of thehousing of the power tool from the movement sensor. To implement thekickback control, the electronic processor is further configured todetermine that the angular velocity of the housing of the power toolexceeds a working operating angle range adjustment threshold. Toimplement the kickback control, the electronic processor is furtherconfigured to, in response to determining that the angular velocityexceeds the working operating angle range adjustment threshold, adjustthe working operating angle range based on the angular velocity. Toimplement the kickback control, the electronic processor is furtherconfigured to determine a roll position of the power tool, and determinethat the roll position is not within an adjusted working operating anglerange. To implement the kickback control, the electronic processor isfurther configured to control the switching network to cease driving ofthe brushless DC motor in response to determining that the roll positionis not within the adjusted working operating angle range.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communication system according to one embodiment ofthe invention.

FIGS. 2A and 2B illustrate an example power tool of the communicationsystem of FIG. 1 according to two example embodiments.

FIG. 3 illustrates a block diagram of the power tool of FIGS. 2A and 2Baccording to one example embodiment.

FIG. 4 illustrates a flowchart of an example method of detectingkickback of the power tool of FIGS. 2A and 2B and ceasing driving of amotor of the power tool in response to detecting the kickback.

FIG. 5 illustrates an example screenshot of a user interface of anexternal device of the communication system of FIG. 1.

FIG. 6 illustrates three example orientations of the power tool of FIGS.2A and 2B.

FIG. 7 illustrates a flowchart of an example method of setting akickback sensitivity parameter based on the orientation of the powertool of FIGS. 2A and 2B.

FIGS. 8A and 8B are charts that illustrate an exaggerated quick releasefeature of the power tool of FIGS. 2A and 2B according to someembodiments.

FIG. 9 illustrates a flowchart of an example method of setting akickback sensitivity parameter based on a battery characteristic of abattery pack coupled to the power tool of FIGS. 2A and 2B.

FIG. 10 illustrates a flowchart of an example method of adjusting akickback sensitivity parameter based on a kickback event of the powertool of FIGS. 2A and 2B.

FIG. 11 illustrates three example roll positions of the power tool ofFIGS. 2A and 2B.

FIG. 12 illustrates a flowchart of an example method of reducing powersupplied to the motor of the power tool of FIGS. 2A and 2B based ondetected tool walk of the power tool.

FIGS. 13 and 14 illustrate flowcharts of example methods of controllingthe power tool of FIGS. 2A and 2B after the power tool 102 a becomesbound in a workpiece.

FIG. 15 illustrates a flowchart of another method of detecting kickbackof the power tool of FIGS. 2A and 2B and ceasing driving of the motor inresponse to detecting the kickback.

FIG. 16 illustrates a flowchart of an example method of detectingkickback of the power tool of FIGS. 2A and 2B where the method adjusts aworking operating angle range based on a monitored angular velocity ofthe housing of the power tool of FIGS. 2A and 2B.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways. Also, it is to be understood thatthe phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limited. The use of“including,” “comprising” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items. The terms “mounted,” “connected” and“coupled” are used broadly and encompass both direct and indirectmounting, connecting and coupling. Further, “connected” and “coupled”are not restricted to physical or mechanical connections or couplings,and can include electrical connections or couplings, whether direct orindirect. Additionally, unless noted otherwise, “near,” “approximately,”and substantially may refer to within 5% or 10% of a particular value,or within 5 or 10 degrees of a particular angle, in the case of anangle.

It should be noted that a plurality of hardware and software baseddevices, as well as a plurality of different structural components maybe utilized to implement the invention. Furthermore, and as described insubsequent paragraphs, the specific configurations illustrated in thedrawings are intended to exemplify embodiments of the invention and thatother alternative configurations are possible. The terms “processor”“central processing unit” and “CPU” are interchangeable unless otherwisestated. Where the terms “processor” or “central processing unit” or“CPU” are used as identifying a unit performing specific functions, itshould be understood that, unless otherwise stated, those functions canbe carried out by a single processor, or multiple processors arranged inany form, including parallel processors, serial processors, tandemprocessors or cloud processing/cloud computing configurations.

One embodiment includes a power tool that includes a housing and a motorwithin the housing. The motor includes a rotor and a stator, and therotor is coupled to a drive device to produce an output. The power toolfurther includes a switching network electrically coupled to the motorand an orientation sensor configured to monitor an orientation of thepower tool. The power tool further includes an electronic processorcoupled to the switching network and the orientation sensor. Theelectronic processor is configured to determine an orientation of thepower tool based on information received from the orientation sensor.The electronic processor is further configured to set a kickbacksensitivity parameter based on the orientation of the power tool. Theelectronic processor is further configured to monitor a power toolcharacteristic associated with the kickback sensitivity parameter. Theelectronic processor is further configured to determine that a kickbackof the power tool is occurring based on the monitored power toolcharacteristic reaching a kickback threshold. The electronic processoris further configured to control the switching network to cease drivingof the motor in response to the monitored power tool characteristicreaching the kickback threshold.

Another embodiment includes a power tool including a housing and a motorwithin the housing. The motor includes a rotor and a stator and therotor is coupled to a drive device to produce an output. The power toolfurther includes a switching network electrically coupled to the motorand an electronic processor coupled to the switching network. Theelectronic processor is configured to determine a battery characteristicof a battery pack coupled to the power tool. The electronic processor isfurther configured to set a kickback sensitivity parameter based on thebattery characteristic of the battery pack. The electronic processor isfurther configured to monitor a power tool characteristic associatedwith the kickback sensitivity parameter. The electronic processor isfurther configured to determine that a kickback of the power tool isoccurring based on the monitored power tool characteristic reaching akickback threshold. The electronic processor is further configured tocontrol the switching network to cease driving of the motor in responseto the power tool characteristic reaching the kickback threshold.

Another embodiment includes a power tool including a housing and a motorwithin the housing. The motor includes a rotor and a stator, and therotor is coupled to a drive device to produce an output. The power toolfurther includes a switching network electrically coupled to the motorand a sensor configured to monitor a condition indicative of kickback ofthe power tool. The power tool further includes an electronic processorcoupled to the switching network and the sensor. The electronicprocessor is configured to set a kickback sensitivity parameter andmonitor a power tool characteristic associated with the kickbacksensitivity parameter. The electronic processor is further configured todetermine that a kickback event is occurring based on the monitoredpower tool characteristic. The electronic processor is furtherconfigured to adjust the kickback sensitivity parameter based on thekickback event. The electronic processor is further configured todetermine that a kickback of the power tool is occurring based on themonitored power tool characteristic reaching a kickback threshold. Theelectronic processor is further configured to control the switchingnetwork to cease driving of the motor in response to the monitored powertool characteristic reaching the kickback threshold.

Another embodiment includes power tool including a housing and a motorwithin the housing. The motor includes a rotor and a stator, and therotor is coupled to a drive device to produce an output. The power toolfurther includes a trigger and a switching network electrically coupledto the motor. The power tool further includes an orientation sensorconfigured to monitor an orientation of the power tool and an electronicprocessor coupled to the switching network and the orientation sensor.The electronic processor is configured to determine an initial rollposition of the power tool at a time that the trigger is initiallyactuated based on information received from the orientation sensor. Theelectronic processor is further configured to monitor the roll positionof the power tool. The electronic processor is further configured todetermine that the roll position of the power tool has changed such thata difference between the roll position and the initial roll positionexceeds a roll position threshold. The electronic processor is furtherconfigured to control the switching network to reduce power supplied tothe motor in response to determining that the difference between theroll position and the initial roll position exceeds the roll positionthreshold.

In some embodiments, after the power supplied to the motor is reduced,the electronic processor is further configured to determine that theroll position of the power tool has further changed such that the rollposition corresponds to the initial roll position. The electronicprocessor is also further configured to control the switching network toincrease the power supplied to the motor in response to determining thatthe roll position corresponds to the initial roll position.

Another embodiment includes a power tool including a housing and a motorwithin the housing. The motor includes a rotor and a stator, and therotor is coupled to a drive device to produce an output. The power toolfurther includes a trigger and a switching network electrically coupledto the motor. The power tool further includes a sensor configured tomonitor a condition indicative of kickback of the power tool and anelectronic processor coupled to the switching network and the sensor.The electronic processor is configured to control the switching networksuch that the motor rotates in a forward direction at a first speed whenthe trigger is actuated. The electronic processor is further configuredto determine that the power tool has experienced a kickback based oninformation received from the sensor, wherein the kickback indicatesthat the drive device is bound in a workpiece. The electronic processoris further configured to control the switching network to cease drivingof the motor in response to determining that the power tool hasexperienced a kickback. The electronic processor is further configuredto in response to determining that the power tool has experienced akickback, control the switching network such that the motor rotates in areverse direction at a second speed that is less than the first speed.

In some embodiments, the electronic processor is configured to controlthe switching network such that the motor rotates in the reversedirection at the second speed when the trigger is actuated.

In some embodiments, the electronic processor is configured to controlthe switching network such that the motor rotates in the reversedirection without the trigger being actuated.

In some embodiments, the electronic processor is configured to determinethat the housing of the power tool has rotated to a desired position andcontrol the switching network to cease driving of the motor in responseto determining that the housing of the power tool has rotated to thedesired position.

FIG. 1 illustrates a communication system 100. The communication system100 includes power tool devices 102 and an external device 108. Eachpower tool device 102 (e.g., power tool 102 a and power tool batterypack 102 b) and the external device 108 can communicate wirelessly whilethey are within a communication range of each other. Each power tooldevice 102 may communicate power tool status, power tool operationstatistics, power tool identification, stored power tool usageinformation, power tool maintenance data, and the like. Therefore, usingthe external device 108, a user can access stored power tool usage orpower tool maintenance data. With this tool data, a user can determinehow the power tool device 102 has been used, whether maintenance isrecommended or has been performed in the past, and identifymalfunctioning components or other reasons for certain performanceissues. The external device 108 is also configured to transmit data tothe power tool device 102 for power tool configuration, firmwareupdates, or to send commands (e.g., turn on a work light). The externaldevice 108 also allows a user to set operational parameters, safetyparameters, select tool modes, and the like for the power tool device102.

The external device 108 may be, for example, a smart phone (asillustrated), a laptop computer, a tablet computer, a personal digitalassistant (PDA), or another electronic device capable of communicatingwirelessly with the power tool device 102 and providing a userinterface. The external device 108 provides a user interface and allowsa user to access and interact with tool information. The external device108 is configured to receive user inputs to determine operationalparameters, enable or disable features, and the like. The user interfaceof the external device 108 provides an easy-to-use interface for theuser to control and customize operation of the power tool 102 a.

The external device 108 includes a communication interface that iscompatible with a wireless communication interface of the power tooldevice 102 (e.g., transceiver 315 shown in FIG. 3). The communicationinterface of the external device 108 may include a wirelesscommunication controller (e.g., a Bluetooth® module), or a similarcomponent. The external device 108, therefore, grants the user access todata related to the power tool device 102, and provides a user interfacesuch that the user can interact with an electronic processor of thepower tool device 102.

In addition, as shown in FIG. 1, the external device 108 can also sharethe information obtained from the power tool device 102 with a remoteserver 112 connected by a network 114. The remote server 112 may be usedto store the data obtained from the external device 108, provideadditional functionality and services to the user, or a combinationthereof. In one embodiment, storing the information on the remote server112 allows a user to access the information from a plurality ofdifferent locations. In another embodiment, the remote server 112 maycollect information from various users regarding their power tooldevices and provide statistics or statistical measures to the user basedon information obtained from the different power tools. For example, theremote server 112 may provide statistics regarding the experiencedefficiency of the power tool device 102, typical usage of the power tooldevice 102, and other relevant characteristics and/or measures of thepower tool device 102. The network 114 may include various networkingelements (routers, hubs, switches, cellular towers, wired connections,wireless connections, etc.) for connecting to, for example, theInternet, a cellular data network, a local network, or a combinationthereof. In some embodiments, the power tool device 102 may beconfigured to communicate directly with the server 112 through anadditional wireless interface or with the same wireless interface thatthe power tool device 102 uses to communicate with the external device108.

In some embodiments, the power tool 102 a and power tool battery pack102 b may wirelessly communicate with each other via respective wirelesstransceivers within each device. For example, the power tool batterypack 102 b may communicate a battery characteristic to the power tool102 a (e.g., a battery pack identification, a battery pack type, abattery pack weight, a current output capability of the battery pack 102b, and the like). Such communication may occur while the battery pack102 b is coupled to the power tool 102 a. Additionally or alternatively,the battery pack 102 b and the power tool 102 a may communicate witheach other using a communication terminal while the battery pack 102 bis coupled to the power tool 102 a. For example, the communicationterminal may be located near the battery terminals in the batteryreceiving portion 206 of FIGS. 2A and 2B.

The power tool device 102 is configured to perform one or more specifictasks (e.g., drilling, cutting, fastening, pressing, lubricantapplication, sanding, heating, grinding, bending, forming, impacting,polishing, lighting, etc.). For example, an impact wrench and a hammerdrill are associated with the task of generating a rotational output(e.g., to drive a bit).

FIGS. 2A and 2B illustrate the power tool 102 a according to two exampleembodiments. In the embodiment shown in FIG. 2A, the power tool 102 a isan impact driver. In the embodiment shown in FIG. 2B, the power tool 102a is a hammer drill. In FIGS. 2A and 2B, similar elements are labeledwith the same reference numbers. The power tools 102 a of FIGS. 2A and2B are representative of various types of power tools that operatewithin the system 100. Accordingly, the description with respect to thepower tool 102 a in the system 100 is similarly applicable to othertypes of power tools, such as right angle drills, joist and stud drills,other drills, ratchets, screwdrivers, concrete mixers, hole diggers,rotary tools, and the like.

As shown in FIG. 2A, the power tool 102 a includes an upper main body202, a handle 204, a battery pack receiving portion 206, an outputdriver 210, a trigger 212, a work light 217, and a forward/reverseselector 219. The housing of the power tool 102 a (e.g., the main body202 and the handle 204) are composed of a durable and light-weightplastic material. The output driver 210 is composed of a metal (e.g.,steel). The output driver 210 on the power tool 102 a is a female socketconfigured to hold a bit or similar device. However, other power toolsmay have a different output driver 210 specifically designed for thetask associated with the other power tools, such as a chuck to hold adrill bit (see FIG. 2B), an arbor to hold a saw blade, a reciprocatingsaw blade holder, or a male socket driver. The battery pack receivingportion 206 is configured to receive and couple to a battery pack (e.g.,battery pack 102 b of FIG. 1) that provides power to the power tool 102a. The battery pack receiving portion 206 includes a connectingstructure to engage a mechanism that secures the battery pack and aterminal block to electrically connect the battery pack to the powertool 102 a.

The power tool 102 a includes a motor housed within the upper main body202. The motor includes a rotor and a stator. The rotor is coupled tothe output driver 210 to produce an output about a rotational axis 211to allow the output driver 210 to perform the particular task. The motoris energized based on the position of the trigger 212. Unless overridingcontrol features are activated, when the trigger 212 is depressed themotor is energized, and when the trigger 212 is released, the motor isde-energized. In the illustrated embodiment, the trigger 212 extendspartially down a length of the handle 204; however, in other embodimentsthe trigger 212 extends down the entire length of the handle 204 or maybe positioned elsewhere on the power tool 102 a. The trigger 212 ismoveably coupled to the handle 204 such that the trigger 212 moves withrespect to the tool housing. The trigger 212 is coupled to a push rod,which is engageable with a trigger switch. The trigger 212 moves in afirst direction towards the handle 204 when the trigger 212 is depressedby the user. The trigger 212 is biased (e.g., with a spring) such thatit moves in a second direction away from the handle 204, when thetrigger 212 is released by the user. When the trigger 212 is depressedby the user, the push rod activates the trigger switch, and when thetrigger 212 is released by the user, the trigger switch is deactivated.

In other embodiments, the trigger 212 is coupled to an electricaltrigger switch. In such embodiments, the trigger switch may include, forexample, a transistor. Additionally, for such electronic embodiments,the trigger 212 may not include a push rod to activate the mechanicalswitch. Rather, the electrical trigger switch may be activated by, forexample, a position sensor (e.g., a Hall-Effect sensor) that relaysinformation about the relative position of the trigger 212 to the toolhousing or electrical trigger switch. The trigger switch outputs asignal indicative of the position of the trigger 212. In some instances,the signal is binary and indicates either that the trigger 212 isdepressed or released. In other instances, the signal indicates theposition of the trigger 212 with more precision. For example, thetrigger switch may output an analog signal that various from 0 to 5volts depending on the extent that the trigger 212 is depressed. Forexample, 0 V output indicates that the trigger 212 is released, 1 Voutput indicates that the trigger 212 is 20% depressed, 2 V outputindicates that the trigger 212 is 40% depressed, 3 V output indicatesthat the trigger 212 is 60% depressed 4 V output indicates that thetrigger 212 is 80% depressed, and 5 V indicates that the trigger 212 is100% depressed. The signal output by the trigger switch may be analog ordigital.

As shown in FIG. 2B, the power tool 102 a includes many similarcomponents as the power tool 102 a shown in FIG. 2A. For example, thehammer drill of FIG. 2B includes an upper main body 202, a handle 204, abattery pack receiving portion 206, a trigger 212, a work light 217, anda forward/reverse selector 219. The hammer drill also includes a chuck221 and torque setting dial 223. As noted above, many elements of thehammer drill of FIG. 2B share reference numbers with respective elementsof the impact driver of FIG. 2A. Accordingly, these similarly-labeledelements of FIG. 2B may include similar functionality as that describedabove with respect to FIG. 2A.

FIG. 3 illustrates a block diagram of the power tool 102 a. As shown inFIG. 3, the power tool 102 a includes an electronic processor 305 (forexample, a microprocessor or other electronic device), a memory 310, atransceiver 315, a battery pack interface 320, a switching network 325,a motor 330, Hall sensors 335, a current sensor 340, an orientationsensor 345, and a movement sensor 350. In some embodiments, the powertool 102 a may include fewer or additional components in configurationsdifferent from that illustrated in FIG. 3. For example, in someembodiments, the power tool 102 a may include one or more indicatorssuch as light-emitting diodes (LEDs) to indicate a status of the powertool 102 a or a mode of the power tool 102 a. In some embodiments, thepower tool 102 a may include multiple orientation sensors 345 and/ormovement sensors 350. In some embodiments, the power tool 102 a mayperform functionality other than the functionality described below.

For example, the electronic processor 305 is configured to adjust one ormore of the settings, mode, and motor speed of the power tool 102 abased on signals received from one or more sensors of the power tool 102a, as explained in greater detail below.

The transceiver 315 sends and receives data to and from the externaldevice 108, the network 114, or both, as explained above. For example,through the transceiver 315, the electronic processor 305 may sendstored power tool usage or maintenance data to the external device 108and may receive operational parameters or tool modes from the externaldevice 108.

The battery pack interface 320 transmits power received from the batterypack to the electronic processor 305 and the switching network 325.Although not shown in FIG. 3, in some embodiments, the power tool 102 aincludes active and/or passive components (e.g., voltage step-downcontrollers, voltage converters, rectifiers, filters, etc.) to regulateor control the power received through the battery pack interface 320 andprovided to the electronic processor 305 and/or the motor 330.

The switching network 325 enables the electronic processor 305 tocontrol the operation of the motor 330. Generally, when the trigger 212is depressed, electrical current is supplied from the battery packinterface 320 to the motor 330, via the switching network 325. When thetrigger 212 is not depressed, electrical current is not supplied fromthe battery pack interface 325 to the motor 330. The electronicprocessor 305 controls the switching network 325 to control the amountof current available to the motor 330 and thereby controls the speed andtorque output of the motor 330. The switching network 325 may includenumerous FETs, bipolar transistors, or other types of electricalswitches. For instance, the switching network 325 may include a six-FETbridge that receives pulse-width modulated (PWM) signals from theelectronic processor 305 to drive the motor 330.

The sensors 335, 340, 345, and 350 are coupled to the electronicprocessor 305 and communicate various signals to the electronicprocessor 305 that are indicative of different parameters of the powertool 102 a or the motor 330. Although not shown in FIG. 3, in someembodiments, the power tool 102 a includes additional sensors such asone or more voltage sensors, one or more temperature sensors, one ormore torque sensors, and the like.

In some embodiments, each Hall sensor 335 outputs motor feedbackinformation to the electronic processor 305, such as an indication(e.g., a pulse) when a magnet of the motor's rotor rotates across theface of that Hall sensor 335. Based on the motor feedback informationfrom the Hall sensors 335, the electronic processor 305 can determinethe position, velocity, and acceleration of the rotor. In response tothe motor feedback information and the position of the trigger 212, theelectronic processor 305 transmits control signals to control theswitching network 325 to drive the motor 330. For instance, byselectively enabling and disabling the FETs of the switching network325, power received via the battery pack interface 320 is selectivelyapplied to stator coils of the motor 330 to cause rotation of its rotor.The motor feedback information is used by the electronic processor 305to ensure proper timing of control signals to the switching network 325and, in some instances, to provide closed-loop feedback to control thespeed of the motor 330 to be at a desired level. For example, asfeedback from the Hall sensors 335 indicates rotation of the rotor, theelectronic processor 305 sequentially (a) enables select FET pairs ofthe switching network such that the magnetic field produced by theassociated stator coils continuously drives the rotor and (b) disablesthe remaining FETs of the switching network 325 such that current is notdiverted from the appropriate stator coils and such that the statorcoils do not produce a magnetic field that inhibits rotation of therotor.

In some embodiments, the current sensor 340 monitors current drawn bythe motor 330 (i.e., the motor current). In some embodiments, theorientation sensor 345 is an accelerometer and transmits signals to theelectronic processor 305 that are indicative of an orientation of thepower tool 102 a with respect to gravity. For example, the orientationsensor 345 may indicate a pitch or roll of the power tool 102 a. Thepitch of the power tool 102 a is represented by a pitch angle α andindicates the direction in which the output driver 210 is facing along apitch axis 240 of FIGS. 2A and 2B (e.g., upward, downward, orhorizontally). The pitch axis 240, illustrated as a point, extends in anout of the page in the view of FIGS. 2A and 2B. The roll of the powertool 102 a indicates a position/angle with respect to gravity of thepower tool 102 a about the rotational axis 211 (usually when the powertool 102 a is oriented horizontally). For example, FIGS. 2A and 2Billustrate a roll motion 245 about the rotational axis 211.

In some embodiments, the movement sensor 350 is a gyroscope andtransmits signals to the electronic processor 305 that are indicative ofan angular velocity of the power tool 102 a. For example, in a situationwhere the output of the power tool 102 a is bound in a workpiece (i.e.,during a kickback of the power tool 102 a as described in greater detailbelow), signals from the movement sensor 350 may indicate the angularvelocity at which the housing of the power tool 102 a rotates about itsrotational axis (e.g., in degrees per second).

In some embodiments, the electronic processor 305 monitors roll positionof the power tool 102 a to determine when kickback of the power tool 102a is occurring. For example, the electronic processor 305 may compare acurrent roll position of the power tool 102 a during operation to aninitial roll position when the trigger 212 was actuated or to apreferred roll position (e.g., a horizontal orientation 605 with therotational axis of the power tool 102 a at ninety degrees with respectto gravity as shown in FIG. 6). In some embodiments, the electronicprocessor 305 directly monitors the current roll position of the powertool 102 a by receiving signals from the orientation sensor 345 thatindicate the roll position of the power tool 102 a. In otherembodiments, the electronic processor 305 infers the current rollposition of the power tool 102 a based on the initial roll position whenthe trigger 212 was actuated (as determined by direct measurement fromthe orientation sensor 345) and monitored angular velocity of thehousing of the power tool 102 (as determined by the movement sensor350). In other words, the electronic processor 305 indirectly determinesthe current roll position of the power tool 102 a by multiplying thecurrent angular velocity measurement by the amount of time betweenangular velocity measurements to determine a roll movement. Theelectronic processor 305 then adds the roll movement to the initial rollposition of the power tool 102 a to determine a current roll position ofthe power tool 102 a.

In some embodiments, the sensors 345 and 350 may include one or moreaccelerometers, gyroscopes, or magnets that may be separate orintegrated into a single assembly. In some embodiments, the sensors 345and 350 allow for movement of the power tool 102 a to be monitored fromone to nine axes (e.g., at least one of three axis monitoring, six axismonitoring, and nine axis monitoring). In some embodiments, the powertool 102 a includes an inertial measurement unit (IMU) printed circuitboard (PCB) that includes the sensors 345 and 350. In some embodiments,the IMU PCB is located in the foot of the power tool 102 a (i.e., nearthe battery pack receiving portion 206) and communicates informationobtained by the sensors 345 and 350 to the electronic processor 305located on a control PCB in the handle 204 of the power tool 102 a. Insuch embodiments, the IMU PCB is isolated from vibration caused by themotor 330 and may accurately monitor the roll position of the power tool102 a about the rotational axis 211. In some embodiments, the IMU PCB islocated at other locations in the power tool 102 a. For example, the IMUPCB may be located underneath the motor 330 (e.g., above the handle 204or at the upper portion of the handle 204). As another example, the IMUPCB may be located above the motor 330.

In some situations, the power tool 102 a may kickback when the output ofthe power tool 102 a becomes bound in a workpiece such that the outputremains stationary. In such situations, the torque provided by therotational inertia of the power tool 102 a may overpower the force ofthe user's hand on the power tool 102 a causing the housing of the powertool 102 a to rotate outside of the user's control. In some embodiments,the electronic processor 305 implements kickback control functionalityto prevent or reduce kickback of the power tool 102 a based on signalsreceived from one or more of the sensors 335, 340, 345, and 350.

FIG. 4 illustrates a flowchart of an example method 400 of detectingkickback of the power tool 102 a and ceasing driving of the motor 330 inresponse to detecting the kickback. At block 405, the electronicprocessor 305 monitors a power tool characteristic of the power tool 102a using one or more sensors. For example, the power tool characteristicmay be a motor current monitored using the current sensor 340, anangular velocity of a housing of the power tool 102 a monitored usingthe movement sensor 350, a roll position of the power tool 102 adirectly monitored using the orientation sensor 345 or indirectlymonitored using a combination of the orientation sensor 345 and themovement sensor 350, or the like.

In some embodiments, when monitoring the power tool characteristic, theelectronic processor 305 may implement a filtering method to filter datareceived from the sensors to control the accuracy of the received data.For example, the electronic processor 305 may pass data through a lowpass filter to remove spikes in data that may be caused by normal tooloperation or may be generated due to errors made by the sensor. In othersituations, the electronic processor 305 may lessen the effect of thelow pass filter or may not implement the low pass filter such that theelectronic processor 305 recognizes shorter direction spikes in datareceived from the sensors. As another example of a filtering method,when signals are received from the movement sensor 350 that indicatemovement in multiple directions, the electronic processor 305 may givemore weight to movement in a certain direction.

At block 410, the electronic processor 305 determines whether the powertool characteristic has reached a kickback threshold. This determinationmay indicate whether kickback of the power tool 102 a is occurring wherethe housing of the power tool 102 a rotates outside of the user'scontrol. In some embodiments, the kickback threshold may be a minimumvalue or a maximum value. For example, in some situations, a decrease inmotor current is indicative of a start of kickback or some other loss ofcontrol of the power tool 102 a by the user. For example, the decreasein motor current may indicate that the user is no longer applyingpressure on the power tool 102 a toward the workpiece. However, in othersituations, an increase in motor current is indicative of a start ofkickback (for example, when the power tool 102 a encounters a toughermaterial than the workpiece such as rebar behind a piece of wood). Inembodiments where the power tool characteristic is current, the kickbackthreshold may be a current threshold in Amps or a rate of change incurrent in Amps per second. In embodiments where the power toolcharacteristic is angular velocity, the kickback threshold is a rotationspeed threshold (e.g., in degrees per second) of the housing of thepower tool 102 a. In embodiments where the power tool characteristic isroll position, the kickback threshold is a working operating angle rangein which the housing of the power tool 102 a may rotate before the motor330 is shut down (e.g., plus-or-minus a number of degrees from aninitial roll position or a preferred roll position of the power tool 102a). In embodiments with a different power tool characteristic, theelectronic processor 305 uses a kickback threshold corresponding to thedifferent power tool characteristic. In some embodiments, the electronicprocessor 305 sets the kickback threshold based on the speed of themotor 330. For example, in some embodiments, the method 400 is updatedto include a first additional block (e.g., between blocks 405 and 410)for the electronic processor 305 to determine motor speed and a secondadditional block (e.g., between the first additional block and block410) for the electronic processor 305 to update the kickback thresholdbased on the determined motor speed (e.g., using a lookup table mappingmotor speeds to thresholds). In one example, as the speed of the motor330 increases, the kickback threshold is updated to be more sensitive.For example, in embodiments where the power tool characteristic isangular velocity, the electronic processor 305 may use a lower kickbackthreshold (i.e., higher kickback sensitivity) when the speed of themotor 330 is high than when the speed of the motor 330 is lower. In thisexample, the kickback threshold changes dynamically based on the speedof the motor 330.

In some embodiments, the electronic processor 305 is configured toutilize two different kickback thresholds. For example, in embodimentswhere the power tool characteristic is angular velocity and the kickbackthreshold is a rotation speed threshold of the housing of the power tool102 a, a first rotation speed threshold that is lower (i.e., moresensitive) than a second rotation speed threshold may be utilized by theelectronic processor 305. Because kickback of the power tool 102 a mostoften occurs in a direction opposite of the rotation of the motor 330,the electronic processor 305 utilizes the first rotation speed thresholdto detect kickback in the direction opposite of the rotation of themotor 330. In some embodiments, the first rotation speed threshold islower (i.e., more sensitive) than a second rotation speed thresholdutilized to detect kickback in the same direction of the rotation of themotor 330. Accordingly, when the forward/reverse selector 219 isactuated to change the rotational direction in which the output driver210 is driven, the first and second rotation speed thresholdcorrespondingly change such that the kickback threshold is moresensitive and shuts the power tool 102 a more quickly based on anangular velocity of the housing of the power tool 102 a in a directionopposite of the rotation of the motor 330. For example, when the outputdriver 210 is rotated in a clockwise direction, it is more likely thatkickback of the power tool 102 a will occur in a counter-clockwisedirection. Therefore, samples indicating an angular velocity in theclockwise direction (which are less likely or unlikely to be a kickbackof the power tool 102 a) are handled with greater tolerance than samplesindicating an angular velocity in the counter-clockwise direction (whichare more likely to be a kickback of the power tool 102 a). The differentrotation speed thresholds depending on the direction of the angularvelocity that is measured with respect to the rotational direction ofthe output driver 210 are intended to reduce nuisance shutdowns, forexample, in the use case of operators rotating the tool themselvesduring operation.

In some embodiments, the monitored power tool characteristic is aposition of the trigger 212 and the kickback threshold is apredetermined change in the amount of trigger actuation or apredetermined change in the amount of trigger actuation over apredetermined time period (i.e., a speed of trigger release). In suchembodiments, the kickback threshold indicates when the trigger 212 hasbeen released to cause the electronic processor 305 to control theswitch network 325 to cease driving of the motor 330. For example, theelectronic processor 305 may determine that the monitored position ofthe trigger 212 has changed such that the trigger 212 is being or hasbeen released by the user. Accordingly, this kickback threshold may bereferred to as a trigger release sensitivity of the power tool 102 abecause it determines how quickly the electronic processor 305 controlsthe switching network 325 to cease driving the motor 330 in response tochanges in position of the trigger 212.

When the electronic processor 305 determines that the monitored powertool characteristic has not reached the kickback threshold (at block410), the method 400 proceeds back to block 405 to continue monitoringthe power tool characteristic. When the electronic processor 305determines that the monitored power tool characteristic has reached thekickback threshold, at block 415, the electronic processor 305 controlsthe switching network 325 to cease driving of the motor 330. Forexample, the electronic processor 305 may prevent the switching network325 from supplying power to the motor 330, may stop the motor 330 usingactive braking, or may cease driving of the motor 330 in another manner.

Although the method 400 is described above with respect to one powertool characteristic, in some embodiments, the electronic processor 305monitors a plurality of power tool characteristics and compares each ofthe monitored power tool characteristics to a respective kickbackthreshold. In some of these embodiments, the electronic processor 305controls the switching network 325 to cease driving of the motor 330 inresponse to a predetermined number of the plurality of power toolcharacteristics reaching their respective kickback thresholds. In someembodiments, when a first monitored power tool characteristic (e.g.,motor current) reaches its respective kickback threshold (e.g.,decreases below a low current threshold), the electronic processor 305begins monitoring a second power tool characteristic (e.g., angularvelocity of the power tool 102 a). In such embodiments, when the secondpower tool characteristic reaches its respective threshold (e.g.,increases above a rotation speed threshold), the electronic processor305 controls the switching network 325 to cease driving of the motor330. Additionally, in some embodiments, the electronic processor 305monitors a plurality of power tool characteristics and adjusts at leastone kickback sensitivity parameter based on at least one of themonitored power tool characteristics (e.g., see FIGS. 10 and 16 andcorresponding explanation below). In some embodiments, by comparing aplurality of measurements of power tool characteristics to theirrespective kickback thresholds allows the electronic processor 305 todetect kickback of the power tool 102 a and shuts down the motor 330 butalso prevent nuisance shutdowns of the motor 330 (i.e., preventingfrequent shutdown of the motor 330 when the user still has control ofthe power tool 102 a). For example, the electronic processor shuts downthe motor 330 in response to multiple measurements of a single powertool characteristic exceeding its respective kickback threshold ormeasurements of multiple power tool characteristics exceeding theirrespective kickback thresholds. In other words, in some embodiments, asingle measurement of a power tool characteristic that exceeds itskickback threshold may not cause the electronic processor 305 to ceasedriving the motor 330 and, accordingly, may improve operator experienceby preventing nuisance shutdowns of the motor 330.

FIG. 15 illustrates a flowchart of another method of detecting kickbackof the power tool 102 a and ceasing driving of the motor 330 in responseto detecting the kickback. The method 1500 allows the electronicprocessor 305 to detect kickback of the power tool 102 a when theangular velocity of the housing of the power tool 102 a has exceeded arotation speed threshold a predetermined number of times within a timeperiod. However, in some embodiments, the electronic processor 305 maymonitor a different power tool characteristic to determine when adifferent power tool characteristic exceeds a respective kickbackthreshold a predetermined number of times within a time period. In someembodiments, the time period is a predetermined time period (forexample, 250 milliseconds, 500 milliseconds, one second, or the like).In other embodiments, the time period is not predetermined and insteadthe time period lasts for as long as the trigger 212 is actuated and thepower tool 102 a is running. In other words, the counter explained belowwith respect to FIG. 15 may rise and fall for as long as the power tool102 a is running, and may reset when the trigger 212 is released. Insuch embodiments, the method 1500 allows the electronic processor 305 todetect kickback of the power tool 102 a by a threshold crossing of aleaky accumulator augmented in response to the angular velocity of thehousing of the power tool 102 a exceeding a rotation speed threshold.Additionally, in some embodiments, the leaky accumulator acts as a leakyaccumulator of some function of rotational speed or some other powertool characteristic whereby kickback is detected upon the leakyaccumulator being augmented above an associated threshold for the otherpower tool characteristic. Similarly, a leak rate of leaky accumulatormay not be constant and may be set by the electronic processor 305 as afunction of a power tool characteristic. In some embodiments, a leakyaccumulator, as described herein, may be a function implemented by theelectronic processor 305.

At block 1505, the electronic processor 305 monitors an angular velocityof the housing of the power tool 102 a (e.g., using information receivedfrom the movement sensor 350). At block 1510, the electronic processor305 determines whether the angular velocity is greater than a rotationspeed threshold. When the angular velocity is greater than the rotationspeed threshold, the method 1500 proceeds to block 1515 where theelectronic processor 305 determines whether a counter is greater than acounter threshold. When the counter is not greater than the counterthreshold, the method 1500 proceeds to block 1520 where the electronicprocessor 305 increments the counter by one because the angular velocityhas exceeded the rotation speed threshold. Then the method 1500 proceedsback to block 1505 to continue monitoring the angular velocity of thehousing of the power tool 102 a. In some embodiments, before proceedingback to block 1505, the electronic processor 305 may delay apredetermined time period in order to sample angular velocity data fromthe movement sensor 350 at predetermined intervals. In some embodiments,the predetermined time period that defines a sampling rate of angularvelocity data from the movement sensor 350 is dynamically determined bythe electronic processor 305 based on another power tool characteristic(for example, based on the orientation of the power tool 102 a).

When the angular velocity is not greater than the rotation speedthreshold (at block 1510), the method 1500 proceeds to block 1525 wherethe electronic processor 305 determines whether the counter is equal tozero. When the counter is equal to zero, the method 1500 proceeds backto block 1505 to continue monitoring the angular velocity of the housingof the power tool 102 a. When the counter is not equal to zero, at block1530, the electronic processor 305 decrements the counter by one becausethe angular velocity is not greater than the rotation speed threshold.Then, the method 1500 proceeds back to block 1505 to continue monitoringthe angular velocity of the housing of the power tool 102 a. In someembodiments, before proceeding back to block 1505, the electronicprocessor 305 may delay a predetermined time period in order to sampleangular velocity data from the movement sensor 350 at predeterminedintervals. As mentioned above, in some embodiments, the predeterminedtime period that defines a sampling rate of angular velocity data fromthe movement sensor 350 is dynamically determined by the electronicprocessor 305 based on another power tool characteristic (for example,based on the orientation of the power tool 102 a).

When the counter is greater than the counter threshold (at block 1515),the method 1500 proceeds to block 1535 where the electronic processor305 controls the switching network 325 to cease driving of the motor330. Accordingly, the method 1500 allows the electronic processor 305 todetect kickback of the power tool 102 a when the angular velocity of thehousing of the power tool 102 a has exceeded a rotation speed thresholda predetermined number of times within a time period as defined by thecounter threshold. In other words, with reference to the explanation ofa leaky accumulator above, the method 1500 allows the electronicprocessor 305 to detect kickback of the power tool 102 a when theangular velocity of the housing of the power tool 102 a has augmented aleaky accumulator above some threshold. In some embodiments, therotation speed threshold, the counter threshold, and the time delaybetween monitored samples of the angular velocity may be referred to askickback sensitivity parameters that may be adjusted to refine kickbackcontrol of the power tool 102 a in accordance with other portions ofthis application. For example, one or more of the rotation speedthreshold, the counter threshold, and the time delay may be adjusted bya user via an external device 108 (see FIG. 5). The power tool 102 athen receives one or more of these kickback sensitivity parameters fromthe external device 108, and the electronic processor 305 executes themethod 1500 using the values of the received kickback sensitivityparameters. For example, the lower the rotation speed threshold, thecounter threshold, and the time delay, the more sensitive the kickbackcontrol. As noted above, in some embodiments, the electronic processor305 executes the method 1500 as the power tool 102 a is running, and mayreset the counter when the trigger 212 is released or when apredetermined time period elapses. For example, an additionalconditional block may be added before looping back to block 1505 inwhich the electronic processor 305 determines whether the predeterminedtime period has elapsed, the trigger has been released, or both, and,when true, resets the counter to zero. Further, when the trigger hasbeen released and the counter is reset, the processor may cease runningthe method 1500 until the next trigger pull.

In some embodiments, the method 1500 detects kickback of the power tool102 a and shuts down the motor 330 but also prevents nuisance shutdownsof the motor 330 (i.e., preventing frequent shutdown of the motor 330when the user still has control of the power tool 102 a). For example,through use of the counter, the method 1500 shuts down the motor 330 inresponse to multiple measurements of the angular velocity of the housingof the power tool 102 a exceeding the rotation speed threshold. In otherwords, in some embodiments, a single measurement of angular velocitythat exceeds the rotation speed threshold may not cause the electronicprocessor 305 to cease driving the motor 330 and, accordingly, mayimprove operator experience by preventing nuisance shutdowns of themotor 330.

As mentioned above, in some embodiments, the electronic processor 305monitors a plurality of power tool characteristics and adjusts at leastone kickback sensitivity parameter based on at least one of themonitored power tool characteristics. FIG. 16 illustrates a flowchart ofan example method 1600 of detecting kickback of the power tool 102 awhere the method 1600 adjusts a working operating angle range (i.e., akickback sensitivity parameter) based on a monitored angular velocity ofthe housing of the power tool 102 a (i.e., a monitored power toolcharacteristic). The method 1600 allows the electronic processor 305 todetect kickback of the power tool 102 a when the roll position of thepower tool 102 a is outside a working operating angle range that isupdated based on the angular velocity of the housing of the power tool102 a. Some of the blocks of the method 1600 are similar to blocks fromother methods explained below (e.g., FIGS. 7 and 10).

Blocks 1605 and 1610 of FIG. 16 are similar to blocks 705 and 710 ofFIG. 7 explained below. At block 1605, the electronic processor 305determines an initial orientation of the power tool 102 a based oninformation received from the orientation sensor 345 when the trigger212 is actuated. In some embodiments, the electronic processor 305 setsthe initial orientation to correspond to an initial roll position ofzero. At block 1610, the electronic processor 305 determines a workingoperating angle range of the power tool 102 a based on the initialorientation of the power tool 102 a. For example, when the pitch of thepower tool 102 a indicates that the power tool 102 a is facing upward(i.e., in the vertically upward orientation 610 of FIG. 6), the user maybe drilling overhead and/or standing on a ladder or scaffolding suchthat they may have less control of the power tool 102 a. Accordingly,when the electronic processor 305 determines that the output driver 210of the power tool 102 a is facing upward, the electronic processor 305may set a working operating angle range of the power tool 102 a to besmall (e.g., plus-or-minus fifteen degrees from the initial rollposition) such that driving of the motor 330 ceases when less kickbackis sensed (i.e., higher kickback sensitivity). Additional examples ofsetting a kickback sensitivity parameter such as the working operatingangle range based on the orientation of the power tool 102 a areexplained below with respect to blocks 705 and 710 of FIG. 7.

At block 1615, the electronic processor 305 monitors angular velocity ofthe housing of the power tool 102 a using the movement sensor 350. Atblock 1620, the electronic processor 305 determines whether the angularvelocity of the housing of the power tool 102 a is greater than aworking operating angle range adjustment threshold. In some embodiments,an angular velocity above the working operating angle range adjustmentthreshold may indicate that the user is beginning to lose control of thepower tool 102 a (i.e., a near kickback event as described below withrespect to FIG. 10). Accordingly, when the angular velocity is above theworking operating angle range adjustment threshold, at block 1625, theelectronic processor 305 adjusts the working operating angle range basedon the angular velocity. Continuing the above example, the electronicprocessor 305 may reduce the working operating angle range fromplus-or-minus fifteen degrees from the initial roll position of thepower tool 102 a to plus-or-minus ten degrees from the initial rollposition of the power tool 102 a. In other words, the electronicprocessor 305 increases kickback sensitivity by decreasing the range ofroll positions in which the power tool 102 a is able to rotate withoutthe motor 330 being shut down due to detection of kickback. After theworking operating angle range is adjusted, the method 1600 proceeds toblock 1630. At block 1620, when the angular velocity is not greater thanthe working operating angle range adjustment threshold, the method 1600proceeds to block 1630 without adjusting the working operating anglerange. In other words, the working operating angle range remainsunchanged because the angular velocity measurement indicates that thehousing of the power tool 102 a is not rotating or is rotating slowly,and the user is not likely losing control of the power tool 102 a.

At block 1630, the electronic processor 305 determines the current rollposition of the power tool 102 a. As described above, the electronicprocessor 305 may determine the roll position of the power tool 102 aeither directly or indirectly. At block 1635, the electronic processor305 determines whether the roll position of the power tool 102 a iswithin the working operating angle range. When the roll position iswithin the working operating angle range, the method 1600 proceeds backto block 1615 to continue to monitor the angular velocity of the housingof the power tool 102 a. When the roll position is not within theworking operating angle range (i.e., when the housing of the power tool102 a has rotated outside of the working operating angle range), atblock 1640, the electronic processor controls the switching network 325to cease driving of the motor 330.

Accordingly, the method 1600 allows the electronic processor 305 todetect kickback of the power tool 102 a when the roll position of thepower tool 102 a is outside a working operating angle range that isupdated based on the angular velocity of the housing of the power tool102 a. In some embodiments, the working operating angle range and theworking operating angle range adjustment threshold may be referred to askickback sensitivity parameters that may be adjusted to refine kickbackcontrol of the power tool 102 a in accordance with other portions ofthis application. Although not shown in FIG. 16, in some embodiments,the electronic processor 305 may re-adjust the working operating anglerange back to its originally-set value in response to determining thatthe angular velocity of the housing of the power tool 102 a hasdecreased below a predetermined value or has decreased to zero.

In some embodiments, in addition to shutting down the motor 330 inresponse to the roll position of the power tool being outside theworking operating angle range, the electronic processor 305 also mayshut down the motor if the angular velocity exceeds a rotation speedthreshold. In some embodiments, the working operating angle rangeadjustment threshold is less than the rotation speed threshold. In otherembodiments, the electronic processor 305 may monitor the angularvelocity of the housing of the power tool 102 a solely for the purposeof updating the working operating angle range and may not shut down thepower tool 102 a based on the angular velocity exceeding the rotationspeed threshold. In some embodiments, at block 1610, the electronicprocessor 305 determines an initial value for the working operatingangle range adjustment threshold based on the initial orientation of thepower tool 102 a in a similar manner as described above with respect tothe working operating angle range.

In some embodiments, the kickback control implemented by the electronicprocessor 305 is controllable via the external device 108. FIG. 5illustrates an example screenshot of a user interface 505 of theexternal device 108 that allows for kickback sensitivity parameters(e.g., kickback thresholds, filtering methods, and the like) to beadjusted by a user. As shown in FIG. 5, kickback control can beoptionally turned on or off using a toggle switch 510. In other words,the electronic processor 305 receives a user selection via the toggleswitch 510 and the external device 108 indicating whether to implementthe method 400 described above. In some embodiments, the power tool 102a may include an LED that illuminates to indicate that kickback controlis activated.

Also as shown in FIG. 5, a sensitivity level of kickback control can beoptionally set using a slider bar 515. In some embodiments, thesensitivity level sets at least one of the kickback thresholds describedabove (e.g., a current threshold, a rotation speed threshold, a triggerrelease sensitivity, a working operating angle range, and the like). Inother words, the electronic processor 305 receives an indication of thesensitivity level via the slider bar 515 and the external device 108,and adjusts one or more of the kickback thresholds in response to theindication. In some embodiments, the user interface 505 includes aseparate slider bar to allow for adjustment of each kickback thresholdindividually. In some embodiments, the electronic processor 305 turnsoff the motor 330 in response to less kickback of the power tool 102 awhen the sensitivity level of kickback control is set higher than whenthe sensitivity level of the kickback control is set lower. In otherwords, the electronic processor 305 may set the kickback thresholds tolevels that are more easily satisfied (e.g., a lower rotation speedthreshold or a higher trigger release sensitivity) when the sensitivitylevel of kickback control is set higher than when the sensitivity levelof the kickback control is set lower.

In some embodiments, the sensitivity level sets a filtering method usedby the electronic processor 305 when receiving data from the sensors.For example, when the sensitivity level of kickback control is sethigher, the electronic processor 305 may lessen the effect of low-passfiltering of one or more sensor signals such that a spike in data maycause a kickback threshold to be reached that ceases driving of themotor 330. On the other hand, when the sensitivity level of kickbackcontrol is set lower, the electronic processor 305 may increase theeffect of low-pass filtering of one or more sensor signals such thatspikes in data are smoothed out to prevent the monitored power toolcharacteristic from being as likely to cross its respective kickbackthreshold. Stated another way, the electronic processor 305 may change afiltering rate of one or more sensors of the power tool 102 a tosacrifice accuracy for faster response time (when the sensitivity levelof kickback control is set higher) or, alternatively, to sacrificefaster response time for accuracy (when the sensitivity level ofkickback control is set lower). In some embodiments, the electronicprocessor 305 sets or adjusts a filtering method of data received fromone or more sensors based on the speed of the motor 330.

In some embodiments, the electronic processor 305 establishes and/oradjusts at least one kickback sensitivity parameter based on theorientation of the power tool 102 a. FIG. 6 illustrates three exampleorientations of the power tool 102 a including a horizontal orientation605, a vertically upward orientation 610, and a vertically downwardorientation 615. The orientations may be described based on therotational axis of the power tool (see, for example, rotational axis 211of the power tool 102 a in FIGS. 2A and 2B) with respect to gravity. Forexample, when the rotation axis is at 90 degrees with respect togravity, or within a predetermined range of 90 degrees with respect togravity (e.g., within 5, 10, 15, 25, 35, or 45 degrees), the power toolmay be considered in the horizontal orientation 605. Similarly, when therotation axis is at 180 degrees with respect to gravity, or within apredetermined range of 180 degrees with respect to gravity (e.g., within5, 10, 15, 25, 35, or 45 degrees), the power tool may be considered inthe vertically upward orientation 610. Similarly, when the rotation axisis at 0 degrees (i.e., aligned) with respect to gravity, or within apredetermined range of 0 degrees with respect to gravity (e.g., within5, 10, 15, 25, 35, or 45 degrees), the power tool may be considered inthe vertically downward orientation 615. In other embodiments, anotheraxis of the tool, such as a longitudinal axis of the tool housing ormotor rotational axis, is used to determine the orientation of the powertool.

FIG. 7 illustrates a flowchart of an example method 700 of setting akickback sensitivity parameter based on the orientation of the powertool 102 a. At block 705, the electronic processor 305 determines theorientation of the power tool 102 a based on information received fromthe orientation sensor 345. For example, the electronic processor 305receives a signal from the orientation sensor 345 indicating the pitchangle α and compares the pitch angle to threshold ranges for each of theorientations 605, 610, and 615 shown in FIG. 6.

At block 710, the electronic processor sets a kickback sensitivityparameter based on the orientation of the power tool 102 a. For example,when the pitch of the power tool 102 a indicates that the power tool 102a is facing upward (i.e., in the vertically upward orientation 610 ofFIG. 6), the user may be drilling overhead and/or standing on a ladderor scaffolding such that they may have less control of the power tool102 a. Accordingly, when the electronic processor 305 determines thatthe output driver 210 of the power tool 102 a is facing upward, theelectronic processor 305 may set at least one kickback sensitivityparameter to be more sensitive such that driving of the motor 330 ceaseswhen less kickback is sensed. For example, the electronic processor 305may lower the rotation speed threshold in embodiments where the angularvelocity of the power tool 102 a is being monitored. As another example,the electronic processor 305 may adjust a filtering method to reduce theeffect of low-pass filtering such that a spike in data may cause akickback threshold to be reached that ceases driving of the motor 330.As another example, the electronic processor 305 may set the triggerrelease sensitivity to exaggerate the quickness of a monitored triggerrelease by the user. For example, the electronic processor 305 may ceasedriving of the motor 330 in response to a slight trigger release by theuser instead of slowing the speed of the motor 330 as may be done inother situations where the user may have more control of the power tool102 a. As another example, when the orientation of the power tool 102 aindicates that the power tool 102 a is not being used at a ninety degreeangle facing upward, downward, or horizontally (as shown in the threeorientations of FIG. 6), the user may have less control of the powertool 102 a (e.g., when drilling at a forty-five degree angle).Accordingly, when the electronic processor 305 determines that theoutput driver 210 of the power tool 102 a is not at a ninety degreeangle facing upward, downward, or horizontally, the electronic processor305 may set at least one kickback sensitivity parameter to be moresensitive such that driving of the motor 330 ceases when less kickbackis sensed. For example, the electronic processor 305 may lower therotation speed threshold in embodiments where the angular velocity ofthe power tool 102 a is being monitored or may decrease the workingoperating angle range where the roll position of the power tool 102 a isbeing monitored.

FIGS. 8A and 8B are charts that illustrate the exaggerated quick releaseimplemented by the electronic processor 305 according to someembodiments. Line 805 of FIG. 8A represents the actual position of thetrigger 212 over a time period where the user releases the trigger 212.As shown in FIG. 8A, it takes the user approximately twenty-twomilliseconds to completely release the trigger 212. However, insituations where the trigger release sensitivity is increased, theelectronic processor 305 may cease driving of the motor 330 before theuser has completely released the trigger 212. For example, as indicatedby line 810 of FIG. 8A, the electronic processor 305 may recognize thechange in position of the trigger 212 and cease driving of the motorafter approximately five milliseconds. Such control may be useful insituations where release of the trigger 212 may indicate a loss ofcontrol of the power tool 102 a (e.g., when the power tool 102 a is inthe vertically upward orientation 610 of FIG. 6).

FIG. 8B illustrates a situation where the trigger 212 is only releasedpart way and is not completely released (i.e., a situation where theuser intended to release the trigger 212 only part way to reduce thespeed of the motor 330, for example). Similar to FIG. 8A, line 815indicates the actual position of the trigger 212 over a time periodwhere the user partially releases the trigger 212. As shown in FIG. 8B,similar to line 810 of FIG. 8A, line 820 indicates that the electronicprocessor 305 ceases driving of the motor 330 in approximately threemilliseconds in response to a detected change in position of the trigger212. However, after a few milliseconds, the electronic processor 305determines that position of the trigger 212 has remained partiallydepressed (e.g., steady at approximately 45% actuation) and controls theswitching network 325 to provide power to the motor 330 corresponding tothe 45% actuation of the trigger 212. In some embodiments, the briefperiod where the electronic processor 305 ceased driving the motor 330may occur so quickly that it is unrecognizable to the user. Thus, whenthe trigger release sensitivity of the power tool 102 a is set toimplement an exaggerated quick release, the electronic processor 305 maybe more sensitive to trigger releases while still maintaining normaloperation of the power tool 102 a.

Returning to block 710 of FIG. 7, as another example of setting akickback sensitivity parameter based on the orientation of the powertool 102 a, when the pitch of the power tool 102 a indicates that thepower tool 102 a is facing downward (i.e., in the vertically downwardorientation 615 of FIG. 6), the user may be in a more stable situation(e.g., located on the floor with both hands on the power tool 102 a).Accordingly, when the electronic processor 305 determines that theoutput driver 210 of the power tool 102 a is facing downward, theelectronic processor 305 may set at least one kickback sensitivityparameter to be less sensitive such that driving of the motor 330 is notceased when minor kickback is sensed. In such situations, the triggerrelease sensitivity may be set not to implement exaggerated quickrelease of the trigger 212.

As yet another example of setting a kickback sensitivity parameter basedon the orientation of the power tool 102 a, when the roll of the powertool 102 a indicates that the power tool 102 a is sideways to the groundwhen the pitch of the power tool 102 a indicates that the power tool 102a is facing horizontally (i.e., in the horizontal orientation 605 ofFIG. 6), an arm of the user may be in such a position that it is notable to rotate much further if, for example, kickback occurs.Accordingly, when the electronic processor 305 determines that the powertool 102 a is sideways with respect to the ground (i.e., with the handlerotated to an angle of approximately 90 degrees with respect togravity), the electronic processor 305 may set at least one kickbacksensitivity parameter to be more sensitive such that driving of themotor 330 is ceased when less kickback is sensed or is ceased morequickly when a trigger release is detected.

As another example of setting a kickback sensitivity parameter based onthe orientation of the power tool 102 a, the electronic processor 305may set a filtering method used during the kickback control method basedon the orientation of the power tool 102 a. For example, when signalsare received from the movement sensor 350 that indicate movement inmultiple directions, the electronic processor 305 may give more weightto movement in a certain direction depending on the orientation of thepower tool 102 a (e.g., a direction in which the power tool 102 a islikely to move if kickback occurs).

Accordingly, in some embodiments, the electronic processor 305 sets atleast one kickback sensitivity parameter based on the pitch of the powertool 102 a, the roll of the power tool 102 a, or both. In someembodiments, blocks 705 and 710 of FIG. 7 may be repeated such that theelectronic processor 305 adjusts at least one kickback sensitivityparameter in a quasi-continuous manner as the orientation of the powertool 102 a changes. For example, for every ten degrees that the rollposition increases with respect to the initial roll position, theelectronic processor 305 may reduce the rotation speed threshold by tenpercent to make the electronic processor 305 more sensitive to kickback.In other example embodiments, different degree and threshold adjustmentamounts are used.

As indicated above, the electronic processor 305 may establish and/oradjust at least one kickback sensitivity parameter based on theorientation of the power tool 102 a. In other words, in someembodiments, the electronic processor 305 performs blocks 705 and 710 inresponse to the trigger 212 of the power tool 102 a being actuated. Insuch embodiments, the electronic processor 305 establishes a kickbacksensitivity parameter (e.g., a rotation speed threshold, a counterthreshold, a delay time between monitored angular velocity samples, aworking operating angle range, and/or the like) based on an initialorientation of the power tool 102 a at a time that the trigger 212 isactuated. For example, each time the trigger 212 is actuated, theelectronic processor 305 establishes at least one kickback sensitivityparameter based on an orientation of the power tool 102 a as determinedusing the orientation sensor 345. Additionally or alternatively, in someembodiments, the electronic processor 305 dynamically updates at leastone kickback sensitivity parameter based on a changing orientation ofthe power tool 102 a during operation while the trigger 212 remainsactuated. For example, the electronic processor 305 adjusts the rotationspeed threshold based on a change in roll position of the power tool 102a during an operation.

At block 715, the electronic processor 305 monitors a power toolcharacteristic associated with the kickback sensitivity parameter. Forexample, the power tool characteristic may be one of the power toolcharacteristics described above such as a motor current, an angularvelocity of the power tool 102, a roll position of the power tool 102 a,and a position of the trigger 212. In some embodiments, at block 715,the electronic processor 305 monitors more than one power toolcharacteristic as explained previously, and each power toolcharacteristic is associated with a kickback sensitivity parameter. Atblock 720, the electronic processor 305 determines that a kickback ofthe power tool 102 a is occurring based on the monitored power toolcharacteristic reaching a kickback threshold. In some embodiments, atblock 720, the electronic processor 305 determines that kickback of thepower tool 102 a is occurring based on more than one power toolcharacteristic meeting its respective kickback threshold. For example,as explained above with respect to FIG. 4, kickback may be determinedafter both motor current has decreased below a low current threshold andangular velocity exceeds a rotation speed threshold. At block 725, theelectronic processor controls the switching network 325 to cease drivingof the motor 330 in response to the power tool characteristic reachingthe kickback threshold. In some embodiments, blocks 715, 720, and 725 ofFIG. 7 are similar to respective blocks 405, 410, and 415 of FIG. 4 andmay include similar functionality as that described above with respectto FIG. 4.

In some embodiments, the electronic processor 305 establishes and/oradjusts at least one kickback sensitivity parameter based on a batterycharacteristic of a battery pack coupled to the power tool 102 a. FIG. 9illustrates a flowchart of an example method 900 of setting a kickbacksensitivity parameter based on a battery characteristic of a batterypack coupled to the power tool 102 a. At block 905, the electronicprocessor 305 determines a battery characteristic of the battery packcoupled to the power tool 102 a. In some embodiments, the electronicprocessor 305 may receive information from the battery pack (e.g., abattery pack identification, a battery pack type, and the like) and maydetermine a size or weight of the battery pack using a look-up tablestored in the memory 310. In other embodiments, the electronic processormay receive information corresponding to the size or weight of thebattery pack from the battery pack.

The remaining blocks of the method 900 (block 910, 915, 920, and 925)are similar to blocks 710, 715, 720, and 725 of FIG. 7. Accordingly, thefunctions, examples, and alternative embodiments described with respectto these blocks of FIG. 7 also apply to the corresponding blocks of FIG.9. At block 910, the electronic processor 305 sets a kickbacksensitivity parameter based on the battery characteristic of the batterypack. For example, the electronic processor 305 may adjust a rotationspeed velocity threshold based on the weight of the battery pack becausethe weight of the battery pack may affect the rotational inertia of thepower tool 102 a. At block 915, the electronic processor 305 monitors apower tool characteristic associated with the kickback sensitivityparameter. At block 920, the electronic processor 305 determines that akickback of the power tool 102 a is occurring based on the monitoredpower tool characteristic reaching a kickback threshold. At block 925,the electronic processor 305 controls the switching network 325 to ceasedriving of the motor 330 in response to the power tool characteristicreaching the kickback threshold.

Similar to the embodiment described above with respect to FIG. 9, insome embodiments, the electronic processor 305 establishes and/oradjusts at least one kickback sensitivity parameter based on acharacteristic of an attachment coupled to the power tool 102 a. Suchestablishment or adjustment may allow the electronic processor 305 tocompensate for the effect that the presence of the attachment has on themoment of inertia of the power tool 102 a. In addition to a battery packas described above with respect to FIG. 9, that attachment may be forexample, a vacuum system, a side handle, or the like. In someembodiments, the power tool 102 a may include a sensor to detect thepresence of the attachment or an electronic switch that is actuated whenthe attachment is mounted to the power tool 102 a. In other embodiments,the attachment may include at least one of an electronic processor and acommunication device to communicate wirelessly or via a wired connectionwith the power tool 102 a. For example, the attachment may communicatecharacteristics of the attachment such as an attachment type, anattachment location/position, an attachment weight, and the like to thepower tool 102 a. In some embodiments, a mode of the power tool 102 amay indicate that an attachment is coupled to the power tool 102 a. Forexample, when the power tool 102 a is placed in a vacuum mode, theelectronic processor 305 determines that a vacuum system is mounted tothe power tool 102 a. In some embodiments, the electronic processor 305may determine the presence of an attachment based on information fromone or more of the orientation sensor 345 and the movement sensor 350during minor use or while the power tool 102 a is resting. For example,the electronic processor 305 may compare information received from thesensors 345 and 350 with information in a look-up table stored in thememory 310 to determine whether the information from the sensors 345 and350 indicates that an attachment is mounted on the power tool 102 a.Based on at least one of detection of the attachment and receipt of acharacteristic of the attachment, the electronic processor 305 mayestablish and/or adjust at least one kickback sensitivity parameter.

In some embodiments, the electronic processor 305 adjusts at least onekickback sensitivity parameter based on a kickback event such as asuspected kickback event, a near kickback event, or a detected kickbackevent. FIG. 10 illustrates a flowchart of an example method 1000 ofadjusting a kickback sensitivity parameter based on a kickback event ofthe power tool 102 a. At block 1005, the electronic processor 305 sets akickback sensitivity parameter (e.g., a kickback threshold or afiltering method as described above). In some embodiments, theelectronic processor 305 sets one or more kickback sensitivityparameters based on the orientation of the power tool 102 as describedabove.

At block 1010, the electronic processor 305 monitors a power toolcharacteristic associated with the kickback sensitivity parameter (e.g.,at least one of a motor current, an angular velocity of the power tool102, a trigger position and the like as explained previously). At block1015, the electronic processor 305 determines that a kickback event isoccurring based on the monitored power tool characteristic or a secondmonitored power tool characteristic. As noted above, the kickback eventmay be a suspected kickback event, a near kickback event, or a detectedkickback event as explained in greater detail below.

In some embodiments, a suspected kickback event is detected when thepower tool 102 a is initially operated. For example, when the electronicprocessor 305 determines that the output driver 210 of the power tool102 a moves slower than expected upon start-up, the electronic processor305 may determine that a kickback event is more likely (e.g., becausethe bit of the power tool 102 a does not have the rotational momentum toovercome small bindings or shear in the workpiece). In some embodiments,a suspected kickback event is detected during operation of the powertool 102 a based on a change in roll position of the power tool 102 aduring operation, which may be referred to as tool walk (see FIG. 12).In some situations, tool walk may indicate a slow loss of control of thepower tool 102 a by the user. For example, the electronic processor 305may determine an initial roll position of the power tool when the powertool 102 a is initially operated (see block 1205 of FIG. 12). Theelectronic processor 305 may then monitor the roll position of the powertool 102 a during operation and compare the current roll position to theinitial roll position (see blocks 1210 and 1215 of FIG. 12). When thecurrent roll position of the power tool 102 a has changed apredetermined amount from the initial roll position (i.e., when toolwalk has occurred), the electronic processor 305 may determine that asuspected kickback event is occurring.

In some embodiments, a near kickback event is detected when the movementsensor 350 indicates that the housing of the power tool 102 a hasrotated in such a manner that the monitored angular velocity is within apredetermined amount from the rotation speed threshold (i.e., a secondrotation speed threshold that is lower than the rotation speed thresholdthat indicates kickback of the power tool 102 a). In other words, a nearkickback event may occur when the output driver 210 of the power tool102 a briefly binds in a workpiece but quickly becomes unbound.

In some embodiments, a detected kickback event occurs when the output ofthe power tool 102 a becomes bound in a workpiece such that the outputremains stationary, and the electronic processor 305 controls theswitching network 325 to cease driving of the motor 330 (see, forexample, the method 400 of FIG. 4).

At block 1020, the electronic processor 305 adjusts the kickbacksensitivity parameter based on the kickback event. For example, based ona suspected kickback event (i.e., a detected change in roll position),the electronic processor 305 may decrease the rotation speed thresholdand/or increase the trigger release sensitivity to make the power tool102 a more sensitive to kickback (i.e., cease driving of the motor 330more quickly) because the user may not have full control of the powertool 102 a.

As another example, when a near kickback event is detected, theelectronic processor 305 adjusts at least one kickback sensitivityparameter to be less sensitive so as not to falsely detect a kickback(e.g., when the user may have more control of the power tool 102 a). Inother situations, when a near kickback event is detected, the electronicprocessor 305 adjusts at least one kickback sensitivity parameter to bemore sensitive (e.g., when the user may have less control of the powertool 102 a). Accordingly, the adjustment of the kickback sensitivityparameter by the electronic processor 305 (at block 1020) may also takeinto account the orientation of the power tool 102 a in that the usermay be determined to have more control when the power tool 102 a is atthe horizontal orientation 605 or vertically downward orientation 615than when in the vertically upward orientation 610.

As another example, when a near kickback event is detected (e.g., basedon angular velocity of the housing of the power tool 102 a exceeding aworking operating angle range adjustment threshold), the electronicprocessor 305 adjusts a working operating angle range as indicated inthe method 1600 of FIG. 16 as explained above. In other words, themethod 1600 of FIG. 16 is an example of a specific implementation of themethod 1000 of FIG. 10 where the electronic processor 305 adjusts aworking operating angle range (i.e., a kickback sensitivity parameter)based on monitored angular velocity of the housing of the power tool 102a exceeding a predetermined threshold (i.e., detection of a nearkickback event). As explained in the above example with respect to FIG.16, the electronic processor 305 may decrease the working operatingangle range from plus-or-minus fifteen degrees from the initial rollposition of the power tool 102 a to plus-or-minus ten degrees from theinitial roll position of the power tool 102. In this example, theelectronic processor 305 adjusts the kickback sensitivity parameter(i.e., the working operating angle range) to be more sensitive tokickback (i.e., cease driving of the motor 330 more quickly) because theangular velocity measurement may indicate that the user does not havefull control of the power tool 102 a. With respect to this example ofdecreasing the working operating angle range from plus-or-minus fifteendegrees from the initial roll position of the power tool 102 a toplus-or-minus ten degrees from the initial roll position of the powertool 102, the values of the angle range are merely examples and otherangle ranges may be used. Additionally, with respect to other examplevalues of and relationships between speeds, angles, thresholds, ranges,and the like throughout this description, these values and relationshipsare merely examples and other values and relationships are possible inother situations and embodiments.

In some embodiments, the electronic processor 305 may keep track of thenumber of kickback events that have occurred, for example, using thememory 310. In some embodiments, the electronic processor 305 may adjustat least one kickback sensitivity parameter based on a predeterminednumber of kickback events occurring. For example, the electronicprocessor 305 may decrease the sensitivity of a kickback threshold afterthree detected kickback events to prevent the motor 330 from being shutdown so often during use. Further, in such embodiments, the electronicprocessor 305 may adjust at least one kickback sensitivity parameterbased on a predetermined number of kickback events occurring within apredetermined period of time (e.g., thirty seconds). For example, theelectronic processor 305 may decrease the sensitivity of a kickbackthreshold when three detected kickback events occur within thirtyseconds.

In some embodiments, the kickback events may be detected during asingle, continuous operation of the power tool 102 a (i.e., during asingle trigger actuation before the trigger 212 is released). However,in other embodiments, these kickback events may be detected overmultiple trigger actuations. In both embodiments, the electronicprocessor 305 may store the number of kickback events in the memory 310and may adjust at least one kickback sensitivity parameter based on apredetermined number of occurrences of one or more of these events. Forexample, when three near kickback events are detected, the electronicprocessor 305 may adjust the rotation speed threshold of the power tool102 a.

In some embodiments, the electronic processor 305 may store kickbacksensitivity parameters used during previous operating modes of the powertool 102 a (i.e., a history of modes selected by the user andcorresponding history of kickback sensitivity parameters used during themodes). When the power tool 102 a switches modes, the electronicprocessor 305 may adjust at least one kickback sensitivity parameterbased on a selected mode of the power tool 102 a to, for example,correspond to a kickback sensitivity parameter that was previously usedduring the selected mode.

In some embodiments, blocks 1010, 1015, and 1020 of the method 1000 arerepeated such that one or more kickback sensitivity parameters areadjusted more than once as kickback events are detected by theelectronic processor 305.

The remaining blocks of the method 1000 (block 1025 and 1030) aresimilar to blocks 720 and 725 of FIG. 7. Accordingly, the functions,examples, and alternative embodiments described with respect to theseblocks of FIG. 7 also apply to the corresponding blocks of FIG. 10. Atblock 1025, the electronic processor 305 determines that a kickback ofthe power tool is occurring based the monitored power toolcharacteristic reaching a kickback threshold. At block 1030, theelectronic processor 305 controls the switching network to cease drivingof the motor 330 in response to the monitored power tool characteristicreaching the kickback threshold.

In some embodiments, the electronic processor 305 is configured toestablish or adjust at least one kickback sensitivity parameter during astart-up of the power tool 102 a. For example, the power tool 102 a maybe more likely to experience kickback when the motor 330 is beingstarted from a standstill than when the motor 330 is already moving andhas some rotational momentum. In such situations when the electronicprocessor 305 determines that the motor 330 is starting from astandstill, the electronic processor 305 may set at least one kickbacksensitivity parameter to be less sensitive to allow the power tool 102 ato power through minor kickback caused by small bindings or shear in theworkpiece (e.g., when the orientation of the power tool 102 a indicatesthat the power tool 102 a is in a well-controlled position).Alternatively, the electronic processor 305 may set at least onekickback sensitivity parameter to be more sensitive to attempt to ceaseproviding power to the motor 330 when even minor kickback is detected(e.g., when the orientation of the power tool 102 a indicates that thepower tool 102 a is in a less-controlled position). In some embodiments,after the motor 330 has reached a desired operating speed, theelectronic processor 305 may further adjust at least one kickbacksensitivity parameter. In some embodiments, the electronic processor 305may be configured to adjust at least one kickback sensitivity parameterin a quasi-continuous manner as the speed of the motor 330 changes. Forexample, as the speed of the motor 330 increases from a standstill to adesired operating speed, the electronic processor 305 may graduallyincrease or decrease at least one kickback sensitivity parameter.

FIG. 11 illustrates three example roll positions of the power tool 102a. Position 1105 represents the initial position of the power tool 102 awhen the trigger 212 is pulled to begin operation on a workpiece. Inthis example situation, the power tool 102 a is being used in ahorizontal position and is vertically upright with a roll position ofapproximately zero degrees with respect to gravity. At position 1110,the power tool 102 a has rotated due to minor binding with the workpiece(i.e., tool walk has occurred). At position 1115, the output of thepower tool 102 a has become bound in the workpiece and a kickback hasoccurred.

In some embodiments, the electronic processor 305 reduces the powersupplied to the motor 330 when tool walk is detected. Such powerreduction may indicate to the user that the roll position of the powertool 102 a has changed during operation (position 1110 of FIG. 11). Insome embodiments, if the user corrects the roll position to, forexample, correspond with the initial roll position of the power tool 102a (position 1105 of FIG. 11), the electronic processor 305 may allowfull power to be supplied to the motor 330 in accordance with theposition of the trigger 212.

FIG. 12 illustrates a flowchart of an example method 1200 of reducingpower supplied to the motor 330 based on detected tool walk of the powertool 102 a. At block 1205, the electronic processor 305 determines aninitial roll position of the power tool 102 a (e.g., with respect togravity) at a time that the trigger 212 is initially actuated based oninformation received from the orientation sensor 345 (e.g., position1105 of FIG. 11). The electronic processor 305 may store the informationrelated to the initial roll position in the memory 310.

At block 1210, the electronic processor 305 monitors the roll positionof the power tool 102 a. At block 1215, the electronic processor 305determines whether the roll position of the power tool 102 a has changedsuch that a difference between the roll position and the initial rollposition exceeds a roll position threshold. In some embodiments, theroll position threshold is a predetermined number of degrees from theinitial roll position. Additionally or alternatively, the roll positionthreshold may be a predetermined number of degrees with respect to adesired operation position (e.g., during horizontal operation, a toolwalk that results in a tool position of 70 degrees in either directionwith respect to gravity). When the electronic processor 305 determinesthat the difference between the roll position and the initial rollposition has not reached the roll position threshold, the method 1200proceeds back to block 1210 to continue monitoring the roll position ofthe power tool 102 a.

When the electronic processor 305 determines that the difference betweenthe roll position and the initial roll position exceeds the rollposition threshold (e.g., position 1110 of FIG. 11), at block 1220, theelectronic processor 305 controls the switching network 325 to reducepower supplied to the motor 330 in response to determining that thedifference between the roll position and the initial roll positionexceeds the roll position threshold. In some embodiments, the rollposition threshold is not a single, discrete threshold. Rather, theelectronic processor 305 may adjust the power supplied to the motor 330in a quasi-continuous manner based on the roll position of the powertool 102 a as the roll position changes. For example, for every tendegrees that the roll position increases with respect to the initialroll position, the electronic processor 305 may reduce the speed of themotor 330 by twenty percent.

As mentioned above, the reduction in power that occurs at block 1220 maynotify the user that tool walk has occurred. In some embodiments, if theuser corrects the roll position to, for example, correspond with theinitial roll position of the power tool 102 a, the electronic processor305 may allow full power to be supplied to the motor 330 in accordancewith the position of the trigger 212. In such embodiments, theelectronic processor 305 may gradually increase power supplied to themotor 330 to full power (e.g., using a time delay). Similar to thereduction of power described above, the restoration of power as the rollposition of the power tool 102 a is corrected may be provided in aquasi-continuous manner. Additionally, in some embodiments, theelectronic processor 305 may require the roll position of the power tool102 a to correspond to a desired roll position (e.g., during horizontaloperation, a vertically upright tool with a tool position ofapproximately zero degrees with respect to gravity) to re-allow fullpower to be supplied to the motor 330 rather than restoring full powerto the motor 330 when the power tool is re-oriented to an initial rollposition. In some embodiments, the electronic processor 305 may restorefull or partial power to the motor 330 in response to the roll positionof the power tool 102 a being corrected to be within a predeterminedamount from the initial roll position or from a desired roll position.In other words, the electronic processor 305 may restore full or partialpower to the motor 330 when the roll position of the power tool 102 ahas been partially, but not completely, corrected.

In some embodiments, the electronic processor 305 executes the method1200 in conjunction with one of the previously described methods suchthat the electronic processor 305 may detect a kickback of the powertool 102 a and cease driving of the motor 330 during execution of themethod 1200. Additionally, the electronic processor 305 may adjust akickback sensitivity parameter based on detected tool walk as explainedin detail above with respect to FIG. 10.

In another embodiment of FIG. 12, at block 1215, the electronicprocessor 305 may proceed to block 1220 to reduce power supplied to themotor 330 in response to the roll position of the power tool 102 aexceeding a predetermined roll position threshold. In such embodiments,the electronic processor 305 may not determine the difference betweenthe roll position and an initial roll position. Rather, the electronicprocessor 305 reduces the power supplied to the motor 330 based onmerely the roll position of the power tool 102. For example, theelectronic processor 305 may reduce the power supplied to the motor 330in response to determining that the roll position of the power tool 102a is horizontal with respect to the ground (i.e., with the handlerotated to an angle of approximately 90 degrees with respect togravity).

When kickback of the power tool 102 a occurs, the power tool 102 a mayremain bound in the workpiece at an awkward angle such that it isdifficult for the user to grasp or operate the power tool 102 a. Often,a user will attempt to unbind the power tool 102 a by applying force tothe housing of the power tool 102 a to manually rotate the housing andthe output driver 210 of the power tool 102 a. However, the user may notbe able to apply enough force to unbind the power tool 102 a, and if thepower tool 102 a becomes unbound, it may move/swing quickly due to theforce applied by the user. In other instances, to attempt to unbind thepower tool 102 a, a user may switch the rotational direction of themotor 330 of the power tool 102 a and operate the power tool 102 a in areverse mode. However, this also may cause the power tool 102 a tomove/swing quickly after the power tool 102 a becomes unbound.

FIG. 13 illustrates a flowchart of a method 1300 of controlling thepower tool 102 a after the power tool 102 a becomes bound in aworkpiece. The method 1300 allows the housing of the power tool 102 a toreturn to a desired position such that the user can attempt to unbindthe power tool 102 a. In some situations, the power tool 102 a maybecome unbound during execution of the method 1300. In some embodiments,the method 1300 allows the housing of the power tool 102 a to moveslowly in the reverse direction to prevent the quick movements/swingsmentioned above with respect to other methods of unbinding of the powertool 102 a.

At block 1305, the electronic processor 305 controls the switchingnetwork 325 such that the motor 330 rotates in a forward direction at afirst speed when the trigger 212 is actuated. At block 1310, theelectronic processor 305 determines whether the power tool 102 a hasbecome bound in a workpiece. For example, when the electronic processor305 ceases driving the motor 330 in response to a monitored power toolcharacteristic reaching a kickback threshold, the electronic processor305 may determine that the power tool 102 has become bound in aworkpiece. When the power tool 102 a has not become bound in aworkpiece, the method 1300 remains at block 1310 and the electronicprocessor 305 continues to control the switching network 325 such thatthe motor 330 rotates in a forward direction at the first speed inaccordance with actuation of the trigger 212.

When the electronic processor 305 has determined that the power tool 102a has become bound in the workpiece (at block 1310), at block 1315, theelectronic processor 305 switches the power tool 102 a to a reversemode. In some embodiments, this switch to a reverse mode may be causedby the user actuating the forward/reverse selector 219. In otherembodiments, the electronic processor 305 switches the power tool 102 ato reverse mode without requiring the user to actuate theforward/reverse selector 219. In other words, the electronic processor305 switches the power tool 102 a to reverse mode in response todetermining that the power tool 102 a has become bound in a workpiece.

At block 1320, the electronic processor 305 controls the switchingnetwork 325 such that the motor 330 rotates in a reverse direction at asecond speed that is less than the first speed in accordance withactuation of the trigger 212 (e.g., at a speed that is less than apredetermined reversal speed). For example, the electronic processor 305may control the motor 330 in this manner in response to the trigger 212being actuated after the power tool 102 a has become bound in aworkpiece. In other words, the electronic processor 305 may not executeblock 1320 until the user actuates the trigger 212. Because the outputdriver 210 is bound in the workpiece and unable to rotate, the slowreverse rotation of the motor 330 allows the housing of power tool 102 ato return to a desired position without swinging/moving the power tool102 a too quickly. In some embodiments, the electronic processor 305sets the second speed as a single speed of the motor 330 regardless ofthe distance that the trigger 212 is actuated. In other embodiments, theelectronic processor 305 sets the second speed as a maximum speed of themotor 330 and allows the user to operate the motor 330 at slower speedsby actuating the trigger 212 less than the maximum distance. In someembodiments, the second speed is a predetermined percent reduction ofthe first speed. In some embodiments, the second speed of the motor 330may start near the first speed and gradually ramp downward until itreaches a predetermined level.

When the electronic processor 305 determines that the trigger 212 is nolonger actuated, the electronic processor 305 controls the switchingnetwork 325 to cease driving the motor 330. In embodiments where theswitch to reverse mode (at block 1315) was caused by the user actuatingthe forward/reverse selector 219, the electronic processor 305 keeps thepower tool 102 a in reverse mode but may not limit the speed of themotor 330 the next time the trigger is actuated. In other words, thenext time the trigger 212 is actuated, the power tool 102 a may operateat full reverse speed in accordance with the actuation of the trigger212. On the other hand, in embodiments where the electronic processor305 switched the power tool 102 a to reverse mode without requiring theuser to actuate the forward/reverse selector 219 (at block 1315), theelectronic processor 305 may switch the power tool 102 a back to forwardmode. In such embodiments, the next time the trigger 212 is actuated,the power tool 102 a may operate at full forward speed in accordancewith the actuation of the trigger 212. In one or both of theseembodiments, the electronic processor 305 may control the speed of themotor 330 to gradually increase speed to allow the user to realize thedirection and speed in which the motor 330 is set to operate.

FIG. 14 illustrates a flowchart of another method of controlling thepower tool 102 a after the power tool 102 a become bound in a workpiece.Blocks 1405, 1410, and 1415 are similar to blocks 1305, 1310, and 1315of the method 1300 of FIG. 13 explained above such that the electronicprocessor 305 switches the power tool 102 a to a reverse mode when thepower tool 102 a has become bound in a workpiece.

At block 1420, the electronic processor 305 controls the switchingnetwork 325 such that the motor 330 rotates in a reverse direction. Insome embodiments, the electronic processor 305 controls the motor 330 torotate in the reverse direction without requiring any user action (i.e.,auto-reverse). For example, the electronic processor 305 may control themotor 330 to rotate in the reverse direction in response to determiningthat the power tool 102 a has become bound in the workpiece. In someembodiments, the electronic processor 305 may control the motor 330 torotate in the reverse direction after a predetermined time has elapsedsince the electronic processor 305 has determined that the power tool102 a has become bound in the workpiece (e.g., three seconds, onesecond, 200 milliseconds, and the like). In some embodiments, theelectronic processor 305 controls the motor 330 to rotate at apredetermined speed that is similar to the second speed described abovewith respect to block 1320 of FIG. 13.

In other embodiments, the electronic processor 305 controls the motor330 to rotate in the reverse direction in response to detecting that theuser applied a force to the power tool 102 a in the reverse direction(i.e., user-assist reverse). For example, when the power tool 102 abecomes bound in the workpiece, the electronic processor 305 determinesthe rotational position of the motor 330 and the position of the powertool 102 a about the rotational axis 211. In some embodiments, the powertool 102 a has a clutch that allows for the housing of the power tool102 a to be slightly manually rotated (e.g., 10-15 degrees) with respectto the output driver 210 when the output driver 210 is bound in theworkpiece. Such a characteristic is referred to as “play in the clutch”and may be monitored by the electronic processor 305 using, for example,the orientation sensor 345 and the Hall sensors 335. For example, basedon values received from these sensors the electronic processor maydetermine a difference between a position of the shaft of the motor 330and a position of the housing of the power tool 102 a. By continuing tomonitor the rotational position of the motor 330 and the position of thepower tool 102 a with respect to the rotational axis 211 after the powertool 102 a has become bound in the workpiece, the electronic processor305 is able to determine whether a force is being applied to the powertool 102 a by the user. The force may be recognized by the electronicprocessor 305 when the position of the housing of the power tool 102 awith respect to the rotational axis 211 changes relative to therotational position of the motor 330 above a certain threshold (e.g., 10or 15 degrees), which may be realized by manual rotation of the housingdue to the play in the clutch. Accordingly, in some embodiments, whenthe electronic processor 305 determines that a force is being applied tothe power tool 102 a in a reverse direction, the electronic processor305 controls the motor 330 to rotate in the reverse direction. Suchreverse rotation of the motor 330 may allow the user to rotate thehousing of the power tool 102 a to return to a desired position whilethe output driver 210 remains bound in the workpiece and unable torotate. In some embodiments, the speed at which the motor 330 rotates inthe reverse direction depends on the amount in which the power tool 102a is rotated within the play in the clutch.

While the motor 330 of the power tool 102 a is rotating in the reversedirection, at block 1425, the electronic processor 305 determineswhether the housing of the power tool 102 a has rotated to a desiredposition. For example, the electronic processor 305 may compare the rollposition of the power tool 102 a to the initial roll position asdescribed above. As another example, the electronic processor 305 maycompare the roll position of the power tool 102 a to a preferred rollposition (e.g., during horizontal operation, a vertically upright toolwith a tool position of approximately zero degrees with respect togravity). In some embodiments, the electronic processor 305 maydetermine that a desired position has been reached when the housing ofthe power tool 102 a has rotated a predetermined number of degrees froma bound roll position. In other words, the electronic processor 305 maycompare a bound roll position of the power tool 102 a at a timeimmediately after the power tool 102 a became bound in the workpiece toa current roll position. In some embodiments, a desired position may beindicated by the electronic processor 305 determining that the user isapplying a force to the power tool 102 a to stop the reverse rotation ofthe motor 330. For example, the electronic processor 305 may determinethat the motor current has increased above a predetermined threshold(e.g., to attempt to overcome the force provided by the user to stop thepower tool 102 a from rotating in the reverse direction). Along similarlines, in some embodiments, a desired position may be indicated by theelectronic processor 305 determining that the position of the housing ofthe power tool 102 a with respect to the rotational axis 211 changesrelative to the rotational position of the motor 330 above a certainthreshold (e.g., 10 or 15 degrees). This relative change may be realizedby manual rotation of the housing, due to the play in the clutch, in adirection opposite the rotation of the housing being caused by the motor330. In some embodiments, the electronic processor 305 determines that adesired position has been reached when the electronic processor 305determines that the output driver 210 is no longer bound in theworkpiece. For example, a drop in motor current (e.g., below athreshold) may indicate that the output driver 210 is no longer bound inthe workpiece. In some embodiments, the electronic processor 305 maydetermine that a desired position has been reached when the trigger 212is actuated or when some other switch/button on the power tool 102 a isactuated (i.e., the user attempts to use the power tool 102 a againbecause the housing of the power tool 102 a has rotated to a desiredposition of the user).

When the housing of the power tool 102 a has not rotated to a desiredposition, the method 1400 proceeds back to block 1420 to continuecontrolling the motor 330 to slowly rotate in the reverse direction.When the housing of the power tool 102 a has rotated to a desiredposition, at block 1430, the electronic processor 305 controls theswitching network 325 to cease driving of the motor 330 in response todetermining that the housing of the power tool 102 a has rotated to adesired position.

Similar to the description of the method 1400 above, in embodimentswhere the switch to reverse mode (at block 1415) was caused by the useractuating the forward/reverse selector 219, the electronic processor 305keeps the power tool 102 a in reverse mode but may not limit the speedof the motor 330 the next time the trigger is actuated. In other words,the next time the trigger 212 is actuated, the power tool 102 a mayoperate at full reverse speed in accordance with the actuation of thetrigger 212. On the other hand, in embodiments where the electronicprocessor 305 switched the power tool 102 a to reverse mode withoutrequiring the user to actuate the forward/reverse selector 219 (at block1115), the electronic processor 305 may switch the power tool 102 a backto forward mode. In such embodiments, the next time the trigger 212 isactuated, the power tool 102 a may operate at full forward speed inaccordance with the actuation of the trigger 212. In one or both ofthese embodiments, the electronic processor 305 may control the speed ofthe motor 330 to gradually increase speed to allow the user to realizethe direction and speed in which the motor 330 is set to operate.

In some embodiments, any of the previously-explained kickback controlfeatures and methods may be optionally executed by the electronicprocessor 305 based on instructions received from the external device108. For example, the graphical user interface 505 may includeadditional toggle switches to allow the user to select which kickbackcontrol features and methods should be implemented as well as thekickback sensitivity parameters of each kickback control feature ormethod. For example, the graphical user interface 505 may receive anindication of whether to enable adjustment of kickback sensitivityparameters based on at least one of orientation of the power tool 102 a(FIG. 7), a battery characteristic of the battery pack coupled to thepower tool 102 a (FIG. 9), and kickback events (FIG. 10). The graphicaluser interface 505 may also receive an indication from the user ofwhether to enable power reduction based on tool walk (FIG. 12) orwhether to enable one of the reverse rotation methods of FIGS. 13 and 14when the power tool 102 a becomes bound in a workpiece.

Thus, the invention provides, among other things, a power tool withvarious kickback control features.

We claim:
 1. A power tool comprising: a housing having a motor housingportion, a handle portion, and a battery interface; a brushless directcurrent (DC) motor within the motor housing portion and having a rotorand a stator, wherein the rotor is configured to rotationally drive amotor shaft about a rotational axis; a switching network electricallycoupled to the brushless DC motor; a movement sensor configured tomeasure an angular velocity of the housing of the power tool about therotational axis; an orientation sensor configured to measure anorientation of the power tool with respect to gravity; and an electronicprocessor coupled to the switching network, the orientation sensor, andthe movement sensor and configured to implement kickback control of thepower tool, wherein, to implement the kickback control, the electronicprocessor is configured to: control the switching network to drive thebrushless DC motor, receive measurements of the angular velocity of thehousing of the power tool from the movement sensor, determine that aplurality of the measurements of the angular velocity of the housing ofthe power tool exceed a rotation speed threshold, and control theswitching network to cease driving of the brushless DC motor in responseto determining that the plurality of the measurements of the angularvelocity exceed the rotation speed threshold, determine an initialorientation of the power tool based on information received from theorientation sensor, determine the rotation speed threshold based on theinitial orientation of the power tool, determine a second orientation ofthe power tool based on information received from the orientation sensorthat indicates that the orientation of the power tool has changed fromthe initial orientation, and determine an adjusted value for therotation speed threshold based on the second orientation of the powertool.
 2. The power tool of claim 1, wherein the electronic processor isconfigured to: receive the measurements of the angular velocity of thehousing of the power tool from the movement sensor at predetermined timeintervals; and determine that the plurality of measurements of theangular velocity of the housing of the power tool within a predeterminedtime period exceed the rotation speed threshold.
 3. The power tool ofclaim 1, wherein the electronic processor is configured to: determinewhether each measurement of the angular velocity exceeds the rotationspeed threshold; increment a counter for each measurement of the angularvelocity that is determined to exceed the rotation speed threshold;determine that the counter exceeds a counter threshold; and control theswitching network to cease driving of the brushless DC motor in responseto determining that the counter exceeds the counter threshold.
 4. Thepower tool of claim 3, wherein the electronic processor is configuredto: determine that the counter is greater than zero; and decrement thecounter for each measurement of the angular velocity that is determinedto be below the rotation speed threshold.
 5. The power tool of claim 3,further comprising a transceiver electrically coupled to the electronicprocessor and configured to communicate with an external device; whereinthe electronic processor is configured to receive, via the transceiver,at least one of the group consisting of the rotation speed threshold andthe counter threshold from the external device, wherein a value of theat least one of the group consisting of the rotation speed threshold andthe counter threshold is selected via a user input on the externaldevice.
 6. The power tool of claim 1, further comprising a transceiverelectrically coupled to the electronic processor and configured tocommunicate with an external device; wherein the electronic processor isconfigured to receive, via the transceiver, an instruction indicatingwhether to implement the kickback control of the power tool, wherein theinstruction is generated based on a user input on the external device.7. The power tool of claim 1, further comprising a trigger configured tobe actuated to cause the power tool to drive the brushless DC motor;wherein the electronic processor is further configured to determine aposition of the trigger based on an amount of actuation of the trigger,control the switching network to drive the brushless DC motor inproportion with the position of the trigger, determine that the positionof the trigger has changed and indicates that the trigger is beingreleased but remains partially actuated, and in response to determiningthat the position of the trigger has changed and indicates that thetrigger is being released but remains partially actuated, implement anexaggerated release of the trigger by controlling the switching networkto cease driving of the brushless DC motor.
 8. A power tool comprising:a housing having a motor housing portion, a handle portion, and abattery interface; a brushless direct current (DC) motor within themotor housing portion and having a rotor and a stator, wherein the rotoris configured to rotationally drive a motor shaft about a rotationalaxis; a switching network electrically coupled to the brushless DCmotor; a movement sensor configured to measure an angular velocity ofthe housing of the power tool about the rotational axis; an orientationsensor configured to measure an orientation of the power tool withrespect to gravity; and an electronic processor coupled to the switchingnetwork, the orientation sensor, and the movement sensor and configuredto implement kickback control of the power tool, wherein, to implementthe kickback control, the electronic processor is configured to: controlthe switching network to drive the brushless DC motor, receivemeasurements of the angular velocity of the housing of the power toolfrom the movement sensor, and control the switching network to ceasedriving of the brushless DC motor in response to determining that ameasurement of the measurements of the angular velocity exceeds arotation speed threshold and determining that a power toolcharacteristic exceeds a kickback threshold, determine an initialorientation of the power tool based on information received from theorientation sensor, determine at least one of the rotation speedthreshold and the kickback threshold based on the initial orientation ofthe power tool, determine a second orientation of the power tool oninformation received from the orientation sensor that indicates that theorientation of the power tool has changed from the initial orientation,and determine an adjusted value for the at least one of the rotationspeed threshold and the kickback threshold based on the secondorientation of the power tool.
 9. The power tool of claim 8, wherein thepower tool characteristic is a second measurement of the measurements ofthe angular velocity of the housing of the power tool from the movementsensor and the kickback threshold is the rotation speed threshold. 10.The power tool of claim 8, wherein the power tool characteristic is atleast one of the group consisting of a motor current, a roll position ofthe power tool, and a position of a trigger of the power tool, andwherein at least one selected from the group of the rotation speedthreshold and the kickback threshold is based on a direction of rotationof the brushless DC motor.
 11. The power tool of claim 8, wherein theelectronic processor is configured to: receive the measurements of theangular velocity of the housing of the power tool from the movementsensor at predetermined time intervals; and determine that themeasurement of the angular velocity of the housing of the power toolexceeds the rotation speed threshold within a predetermined time periodof the power tool characteristic exceeding the kickback threshold. 12.The power tool of claim 8, further comprising a transceiver electricallycoupled to the electronic processor and configured to communicate withan external device; wherein the electronic processor is configured toreceive, via the transceiver, at least one of the group consisting ofthe rotation speed threshold and the kickback threshold from theexternal device, wherein a value of the at least one of the groupconsisting of the rotation speed threshold and the kickback threshold isselected via a user input on the external device.
 13. The power tool ofclaim 8, further comprising a transceiver electrically coupled to theelectronic processor and configured to communicate with an externaldevice; wherein the electronic processor is configured to receive, viathe transceiver, an instruction indicating whether to implement thekickback control of the power tool, wherein the instruction is generatedbased on a user input on the external device.
 14. The power tool ofclaim 8, further comprising a trigger configured to be actuated to causethe power tool to drive the brushless DC motor, wherein the power toolcharacteristic is a position of the trigger and the kickback thresholdcorresponds to a speed of release of the trigger; wherein the electronicprocessor is further configured to determine the position of the triggerbased on an amount of actuation of the trigger, control the switchingnetwork to drive the brushless DC motor in proportion with the positionof the trigger, determine that the position of the trigger has changedand that the trigger is being released at a speed that exceeds thekickback threshold but that the trigger remains partially actuated, andin response to determining that the position of the trigger has changedand that the trigger is being released at a speed that exceeds thekickback threshold but that the trigger remains partially actuated,implement an exaggerated release of the trigger by controlling theswitching network to cease driving of the brushless DC motor.
 15. Thepower tool of claim 14, wherein the electronic processor is configuredto: determine that the trigger has remained partially actuated for apredetermined period of time after the electronic processor hascontrolled the switching network to cease driving of the motor; and inresponse to determining that the trigger has remained partially actuatedfor the predetermined period of time after the electronic processor hascontrolled the switching network to cease driving of the motor, controlthe switching network to drive the brushless DC motor in proportion withthe partially actuated position of the trigger.
 16. A power toolcomprising: a housing having a motor housing portion, a handle portion,and a battery interface; a brushless direct current (DC) motor withinthe motor housing portion and having a rotor and a stator, wherein therotor is configured to rotationally drive a motor shaft about arotational axis; a switching network electrically coupled to thebrushless DC motor; a movement sensor configured to measure an angularvelocity of the housing of the power tool about the rotational axis; anelectronic processor coupled to the switching network and the movementsensor and configured to implement kickback control of the power tool,wherein, to implement the kickback control, the electronic processor isconfigured to: control the switching network to drive the brushless DCmotor, determine a working operating angle range of the power tool,receive measurements of the angular velocity of the housing of the powertool from the movement sensor, determine that the angular velocity ofthe housing of the power tool exceeds a working operating angle rangeadjustment threshold, in response to determining that the angularvelocity exceeds the working operating angle range adjustment threshold,adjust the working operating angle range based on the angular velocity,determine a roll position of the power tool, determine that the rollposition is not within an adjusted working operating angle range, andcontrol the switching network to cease driving of the brushless DC motorin response to determining that the roll position is not within theadjusted working operating angle range.
 17. The power tool of claim 16,further comprising an orientation sensor configured to measure anorientation of the power tool with respect to gravity; wherein theelectronic processor is coupled to the orientation sensor and configuredto determine an initial orientation of the power tool based oninformation received from the orientation sensor, determine the workingoperating angle range of the power tool based on the initial orientationof the power tool, and determine the roll position of the power toolbased on information received from the orientation sensor.
 18. The powertool of claim 16, further comprising a transceiver electrically coupledto the electronic processor and configured to communicate with anexternal device; wherein the electronic processor is configured toreceive, via the transceiver, an instruction indicating whether toimplement the kickback control of the power tool, wherein theinstruction is generated based on a user input on the external device.